package BaseDeDatos;

import java.sql.CallableStatement;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;

import Clases.Usuario;

public class DBUsuarios {

	public DBUsuarios() throws ClassNotFoundException {
		Class.forName("com.mysql.jdbc.Driver");
	}

	public Usuario getUsuario(int legajo) throws SQLException {
		Connection con = (Connection) DriverManager.getConnection("jdbc:mysql://localhost/usal", "root", "");
		
		CallableStatement call = (CallableStatement) con.prepareCall("{call select_usuario(?)}");
		call.setInt(1, legajo);
		
		ResultSet usuarioDB = call.executeQuery();
		
		Usuario u = null;
		
		while (usuarioDB.next()) {
			u = new Usuario(usuarioDB.getString(1), usuarioDB.getString(2));
			u.setNombre(usuarioDB.getString(3));
		}
		
		con.close();
		
		return u;
	}
	
	public List<Usuario> getUsuarios(String tipo) throws SQLException {
		Connection con = (Connection) DriverManager.getConnection("jdbc:mysql://localhost/usal", "root", "");
		
		CallableStatement call = (CallableStatement) con.prepareCall("{call select_usuarios(?)}");
		call.setString(1, tipo);
		
		ResultSet usuarioDB = call.executeQuery();
		
		Usuario u = null;
		List<Usuario> usuarioList = new ArrayList<Usuario>();
		
		while (usuarioDB.next()) {
			u = new Usuario(usuarioDB.getString(1), usuarioDB.getString(2));
			u.setNombre(usuarioDB.getString(3));
			
			usuarioList.add(u);
		}
		
		con.close();
		
		return usuarioList;		
	}
}
